iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
AI/ ML & Data

From Python Beginner To AI Engineer系列 第 22

如何增刪列表的元素?

  • 分享至 

  • xImage
  •  

新增元素

列表最大的優點就是可以彈性調整列表元素,包含新增與刪除元素。假設要新增元素,可以透過 .append() 方法:

>>> arr = [2, 3, 5]
>>> arr.append(7)
>>> arr
[2, 3, 5, 7]

.append() 會固定將元素加到列表的最後面,因此 arr.append(7) 會將 7 放到列表的最後面。如果想要放在指定位置,可以用 .insert 方法:

>>> arr = [2, 3, 5]
>>> arr.insert(1, 7)
>>> arr
[2, 7, 3, 5]

.insert 接受兩個參數,第一個參數是索引值,第二個參數是要插入的元素。第一個參數用來指定新的元素要放在第幾個元素的前面,別忘了列表的索引值是從 0 開始,因此會放在 arr[1] 也就是 3 的前面。

刪除元素

如果要刪除某個元素,可以使用 del 關鍵字:

>>> arr = [2, 3, 5]
>>> del arr[1]
>>> arr
[2, 5]

del arr[1] 會讓 arr[1] 直接從世界上消失,並且由後面的元素來遞補他的位置,因此 arr[1] 會從 3 變成 5。

除了 del 以外,在不知道元素索引值的情況下,可以使用 .remove() 方法:

>>> arr = [2, 3, 5, 3]
>>> arr.remove(3)
>>> arr
[2, 5, 3]

.remove(3) 會移除列表中的 3,雖然列表裡面有兩個 3,但 .remove() 只會移除第一個 3。使用 .remove() 時需要注意,如果列表內不包含該元素會發生錯誤:

>>> arr.remove(-1)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[5], line 1
----> 1 arr.remove(-1)

ValueError: list.remove(x): x not in list

可以使用 if 搭配 in 關鍵字,先判斷該元素是否在列表內再進行刪除:

arr = [2, 3, 5]

if -1 in arr:
    arr.remove(-1)
print(arr)

if 3 in arr:
    arr.remove(3)
print(arr)

自我練習

  1. 使用 input() 讀取一個變數 n,接下來使用 for 迴圈用再讀取 n 個整數,並放進一個列表裡面。

    提示:可以用 arr = [] 來宣告一個空列表。

  2. 承上題,再讀取一個變數 m,結合 while 迴圈將列表中所有的 m 移除掉。

完整的程式碼放在此 Colab 裡面供各位參考。


上一篇
如何操作多個變數?
下一篇
列表進階觀念
系列文
From Python Beginner To AI Engineer31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言